{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Training differentially private pipelines"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We start by importing the required libraries and modules and collecting the data that we need from the [Adult dataset](https://archive.ics.uci.edu/ml/datasets/adult)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import sklearn as sk\n",
    "from sklearn.pipeline import Pipeline\n",
    "\n",
    "from diffprivlib import models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train = np.genfromtxt(\"https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data\",\n",
    "                        usecols=(0, 4, 10, 11, 12), delimiter=\",\")\n",
    "y_train = np.genfromtxt(\"https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data\",\n",
    "                        usecols=14, dtype=str, delimiter=\",\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_test = np.genfromtxt(\"https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.test\",\n",
    "                       usecols=(0, 4, 10, 11, 12), delimiter=\",\", skip_header=1)\n",
    "\n",
    "y_test = np.genfromtxt(\"https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.test\",\n",
    "                       usecols=14, dtype=str, delimiter=\",\", skip_header=1)\n",
    "# Must trim trailing period \".\" from label\n",
    "y_test = np.array([a[:-1] for a in y_test])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pipeline with no privacy"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To begin, let's train and test a scikit-learn pipeline without any privacy guarantees. We first use `StandardScaler` to normalise the data to zero mean and unit variance, then use `PCA` to reduce the dimensionality of the system, and then use `LogisticRegression` as a classifier."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "pipe = Pipeline([\n",
    "    ('scaler', sk.preprocessing.StandardScaler()),\n",
    "    ('pca', sk.decomposition.PCA(2)),\n",
    "    ('lr', sk.linear_model.LogisticRegression(solver=\"lbfgs\"))\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We now train the model, and save the test accuracy as a baseline."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Non-private test accuracy: 80.31%\n"
     ]
    }
   ],
   "source": [
    "pipe.fit(X_train, y_train)\n",
    "baseline = pipe.score(X_test, y_test)\n",
    "print(\"Non-private test accuracy: %.2f%%\" % (baseline * 100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Differentially private pipeline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using `diffprivlib`, we can now train a differentially private pipeline. We use the same components as in our pipeline above, but with each component satisfying differential privacy. We decide on the `bounds` and `data_norm` parameters by trial and error for this example. In practice, these hyperparameters should be chosen using non-sensitive data, i.e. from metadata provided by the data owner."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Differentially private pipeline accuracy (epsilon=3): 78.93%\n"
     ]
    }
   ],
   "source": [
    "from diffprivlib.utils import check_random_state\n",
    "\n",
    "random_state = check_random_state(42)\n",
    "n = X_train.shape[0]\n",
    "\n",
    "dp_pipe = Pipeline([\n",
    "    ('scaler', models.StandardScaler(bounds=([17, 1, 0, 0, 1], [90, 160, 10000, 4356, 99]), random_state=random_state)),\n",
    "    ('pca', models.PCA(2, data_norm=4, centered=True, random_state=random_state)),\n",
    "    ('lr', models.LogisticRegression(data_norm=1, random_state=random_state, C=10/n))\n",
    "])\n",
    "\n",
    "dp_pipe.fit(X_train, y_train)\n",
    "print(\"Differentially private pipeline accuracy (epsilon=3): %.2f%%\" % (dp_pipe.score(X_test, y_test) * 100))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's now train the pipeline across a range of epsilons."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "epsilons = np.logspace(-3, 0, 500)\n",
    "pipe_accuracy = []\n",
    "\n",
    "for epsilon in epsilons:\n",
    "    _eps = epsilon / 3\n",
    "    dp_pipe.set_params(scaler__epsilon=_eps, pca__epsilon=_eps, lr__epsilon=_eps)\n",
    "    \n",
    "    dp_pipe.fit(X_train, y_train)\n",
    "    pipe_accuracy.append(dp_pipe.score(X_test, y_test))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Results"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can now plot the results, showing that accuracy approaches the non-private baseline from approximately `epsilon = 0.01`, albeit with some residual noise in the outcome as a result of differential privacy."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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PXogOTkZzzzzDEJDQ7F8+XIMHToU3377LYYNG+axz8/ijz/+wLJlyzBhwgQEBgbi/fffx4ABA7B9+3a0bNkSAFy+3vSwadMmrFixAo8//jjCw8Px9ttv46677kJGRgZq167tkX4/+OADtGjRAnfccQfMZjN+/PFHPP7447BarRg3bpyw3+LFi/Hggw+iRYsWmDp1KqKiorBr1y6sXr0aI0aMAOzX/O23347ExERMnDgRCQkJOHToEH766SemmNfDokWLUFJSgkcffRSBgYGoVauWrmuK56GHHsLixYtx22234eGHH0ZFRQU2btyIrVu3omPHjhg1ahQeeeQR7N+/X/guAeDvv//G0aNH8fzzz7s1bsLHcAThYRYtWsQB4P7++2/VfSIjI7l27doJr2fMmMHJL8fevXtzLVq0UBxbr149btCgQZJtn332GWc0GrmNGzdKtn/44YccAO6vv/4StgHgjEYjd+DAAcm+Dz30EJeYmMhlZ2dLtt93331cZGQkV1RUxHEcx61fv54DwDVr1owrLS0V9nvrrbc4ANy+ffuEbYMGDeLq1aun+AynTp3iAHCLFi0StvHti/nqq684ANyff/4pbOPP76lTpyTnqnfv3sLrX3/9lQPArVq1StJe69atJfux4McWHBzMnTt3Tti+bds2DgA3adIkYduYMWM4ANwzzzyjaGfMmDGSz86P6ccff5TsN3DgQK5+/frC64qKCsl55TiOu3r1KhcfH889+OCDwrbLly9zALgZM2Yo+r755pu5Vq1acSUlJcI2q9XKde/enWvUqJHHPj/rugXAAeD++ecfYduZM2e4oKAgbtiwYcI2vdcb61pR69disXDHjx8Xtu3Zs4cDwL3zzjsu96sG6/309HTJd3jt2jUuPDyc69KlC1dcXCzZ12q1cpz9e05LS+Pq1avHXb16lbkPx7i2eeTXF3+eIiIiuEuXLkn21XtNrVu3jgPATZgwQdEfP6Zr165xQUFB3NNPPy15f8KECVxoaChXUFCgOJao+ZCbjPAJYWFhurPK9PD111+jWbNmaNq0KbKzs4V//fr1AwCFObx3796SuCOO4/Dtt99i8ODB4DhO0kZ6ejpyc3Oxc+dOSRsPPPCAxMLRq1cvAMDJkyfd+gx8/BQAlJSUIDs7G127dgUARd/O6N+/P5KSkvDFF18I2/bv34+9e/fiX//6l642hg4diuTkZOF1586d0aVLF/zyyy+KfR977DGn7fXr1w8xMTFYtmyZsO3q1atYs2YN7r33XmGbyWQSzqvVakVOTg4qKirQsWNHXechJycH69atw/Dhw5Gfny98j1euXEF6ejqOHTuG8+fPe/Tzy+nWrRs6dOggvK5bty6GDBmCX3/9FZWVlW5db3ro378/GjRoILxu3bo1IiIihGvSE/2Kr9Pc3FxkZ2ejd+/eOHnyJHJzcwG7xSc/Px/PPPOMIjaOt3Du2rULp06dwhNPPKGIDaxK2YC77rpLcKHy6L2mvv32WxgMBsyYMUPRLj+myMhIDBkyRLCyAkBlZSWWLVuGoUOHIjQ01O2xE76D3GSETygoKEBcXJzH2jt27BgOHTqkuAnyXLp0SfI6LS1N8vry5cu4du0aPv74Y3z88ce62qhbt67kdXR0NGCf4N0hJycHM2fOxNKlSxV98ZOMXoxGI0aOHIkPPvgARUVFCAkJwRdffIGgoCDcc889utpo1KiRYlvjxo2xfPlyyTaz2Yw6deo4bc9sNuOuu+7Cl19+idLSUgQGBmLFihUoLy+XiCEAWLJkCd58800cPnwY5eXlwnb598bi+PHj4DgO06ZNw7Rp05j7XLp0SSJ0WOj9/K4cW1RUhMuXL8NoNLp8velBfk3Cfl3y16Q717mcv/76CzNmzMCWLVtQVFQkeS83NxeRkZE4ceIEAEjcSHL07OMOateInmvqxIkTSEpKQq1atTT7GD16NJYtW4aNGzfipptuwu+//46srKwaXeaD0IbEEFHtnDt3Drm5uWjYsKHH2rRarWjVqhXmzJnDfD8lJUXyWvx0yx8PAP/6178wZswYZhviUgCwP22ycLdaxfDhw7F582Y89dRTaNu2LcLCwmC1WjFgwABhfK4wevRovP7661i5ciXuv/9+fPnll7j99tsRGRnp1vjUCAwMhNGoz8h833334aOPPsKqVaswdOhQLF++HE2bNpUEpH7++ecYO3Yshg4diqeeegpxcXFC0Dc/gWrBn6spU6aoBrN68tpzB3euNz04uyar2u+JEydw8803o2nTppgzZw5SUlJgsVjwyy+/YO7cuW5dp84wGAzM31RlZSVzf/lvGx64puSkp6cjPj4en3/+OW666SZ8/vnnSEhIQP/+/V1ui6gZkBgiqp3PPvsMsN9QPEWDBg2wZ88e3HzzzW6Z2GNjYxEeHo7KykqP3tD0juXq1atYu3YtZs6cienTpwvbjx075nbfLVu2RLt27fDFF1+gTp06yMjIwDvvvKP7eFbfR48erVJV6ZtuugmJiYlYtmwZevbsiXXr1uG5556T7PPNN9+gfv36WLFiheT8yV0Xaue2fv36gD1ouyrfZVU+v9qxISEhgvXSG9ebM6p6nf/4448oLS3FDz/8ILFCyd3QvKtu//79qsJTvI/WWKKjo5mu5zNnzuget95rqkGDBvj111+Rk5OjaR0ymUwYMWIEFi9ejFdffRUrV67EI4884nLNMKLmQDFDRLWybt06vPTSS0hLS9OV0aSX4cOH4/z585g/f77iveLiYhQWFmoebzKZcNddd+Hbb79VpE/D7l5wh9DQUF0uLv4mKn8Crmr16lGjRuG3337DvHnzULt2bdx22226j125cqUktmb79u3Ytm2bS23IMRqNuPvuu/Hjjz/is88+Q0VFhcJFxjoX27Ztw5YtWyT78Vlr165dk2yPi4tDnz598NFHH+HixYuKMej9Lqvy+bds2SKJRTl79iy+//573HrrrTCZTF673pxR1X5Z301ubi4WLVok2e/WW29FeHg4Zs+ejZKSEsl7/LHt27dHWloa5s2bp/gOxe03aNAAhw8floxtz549+Ouvv3R+av3X1F133QWO4zBz5kxFG/Lf5qhRo3D16lX8+9//RkFBge5YPKJmQpYhwmusWrUKhw8fRkVFBbKysrBu3TqsWbMG9erVww8//ODRooOjRo3C8uXL8Z///Afr169Hjx49UFlZicOHD2P58uX49ddfJQUgWbzyyitYv349unTpgkceeQTNmzdHTk4Odu7cid9//x05OTkuj6tDhw5YtmwZJk+ejE6dOiEsLAyDBw9W7BcREYGbbroJr732GsrLy5GcnIzffvsNp06dcrlPMSNGjMB///tffPfdd3jsscdcKoTYsGFD9OzZE4899hhKS0sFQfXf//63SmO699578c4772DGjBlo1aoVmjVrJnn/9ttvx4oVKzBs2DAMGjQIp06dwocffojmzZujoKBA2C84OBjNmzfHsmXL0LhxY9SqVQstW7ZEy5Yt8d5776Fnz55o1aoVHnnkEdSvXx9ZWVnYsmULzp07hz179nj187ds2RLp6emS1HrYayLxeON600NV+r311lthsVgw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OXIkevfujUuXLmHNmjUIDg7GgAEDhPcHDx6MevXqYf78+UhKSoLVakXLli01Px/vdps/fz66dOkieU8sPqsDvdeCM7SuFU/14W1IDBEEcV1hMBg84qryFevWrcO+ffswadKkKrXTvn17LFu2DHFxcYiIiPD6cXIsFovTJRP++usvjB07VoixKSgocDlwtlWrVujYsSPmz5+PL7/8Eu+++67TYzIyMnDhwgUkJSUBALZu3Qqj0SgESuule/fuSElJwbJly7Bq1Srcc889wsR/5coVHDlyBPPnz0evXr0AAJs2bZIcz1paIj4+HklJSTh58qTEyqSHbdu2SV5v3boVjRo10hRRW7duxejRoyWv27VrB3jwWtCiOvrwBOQmIwiC8BKlpaXIzMzE+fPnsXPnTsyaNQtDhgzB7bffLpmg3GHkyJGIiYnBkCFDsHHjRpw6dQobNmzAhAkTcO7cOY8fJyc1NRV//vknzp8/j+zsbOY+jRo1wooVK7B7927s2bMHI0aMcNm6BLt16JVXXgHHcYKw0iIoKAhjxozBnj17sHHjRkyYMAHDhw/XjG9SY8SIEfjwww+xZs0aiXiJjo5G7dq18fHHH+P48eNYt24dJk+eLDk2Li4OwcHBWL16NbKysoSMtpkzZ2L27Nl4++23cfToUezbtw+LFi3CnDlzNMeSkZGByZMn48iRI/jqq6/wzjvvYOLEiZrHfP3111i4cCGOHj2KGTNmYPv27UK8lqeuBS2qow9PQGKIIAjCS6xevRqJiYlITU3FgAEDsH79erz99tv4/vvvq+wSCQkJwZ9//om6devizjvvRLNmzfDQQw+hpKRE8wnc3ePkvPjiizh9+jQaNGig6u6YM2cOoqOj0b17dwwePBjp6elo3769y5/1/vvvh9lsxv3334+goCCn+zds2BB33nknBg4ciFtvvRWtW7d2mrquxsiRI3Hw4EEkJyejR48ewnaj0YilS5dix44daNmyJSZNmoTXX39dcqzZbMbbb7+Njz76CElJSRgyZAhgF3cLFizAokWL0KpVK/Tu3RuLFy926jodPXo0iouL0blzZ4wbNw4TJ07Eo48+qnnMzJkzsXTpUrRu3RqffvopvvrqKzRv3hzw4LWgRXX04QkMnCdyRa8j8vLyEBkZidzc3Br1RRAEoaSkpASnTp1CWlqarkmQuDHhRdfff//t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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.semilogx(epsilons, pipe_accuracy, label=\"Differentially private pipeline\", zorder=10)\n",
    "plt.plot(epsilons, np.ones_like(epsilons) * baseline, dashes=[2,2], label=\"Non-private pipeline\", zorder=5)\n",
    "plt.title(\"Differentially private pipeline accuracy\")\n",
    "plt.xlabel(\"epsilon\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.ylim(0, 1)\n",
    "plt.xlim(epsilons[0], epsilons[-1])\n",
    "plt.legend(loc=4)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
